#include <iostream>

using namespace std;

class my {
    public:
        my(){}
        my(int i): m_i(i){}
        my operator ++(int) {
            int i = m_i;
            m_i += 1;
            return *this;
        }
        my& operator ++() {
            m_i += 1;
            return *this;
        }
        int getValue()
        {
            return m_i;
        }
    private:
        int m_i;
};

int main(int argc, const char *argv[])
{
    my _my(10);

    cout << _my.getValue() << endl;
    cout << (_my++).getValue() << endl;
    cout << (++_my).getValue() << endl;
    return 0;
}
